#region Usings

using log4net.Config;
using Karma.Framework.Core.Domain.Tools.Import.Configuration;
using Karma.Framework.Core.IoC;
using Karma.Framework.Core.Repository.Configuration;
using Karma.Framework.Core.Services.Invoker;
using Karma.Framework.Core.Services.Invoker.Processor;

#endregion

namespace Karma.Framework.Core
{
    public class KarmaStarter
    {
        public static void InitializeFramework()
        {
            XmlConfigurator.Configure();

            IoCFactory.CreateKernel();
            ActiveRecordConfiguration.Initialize();
            RepositoryConfiguration.Initialize();

            var invoker = IoCFactory.Resolve<IServiceInvoker>();
            invoker.Initialize();

            var processor = IoCFactory.Resolve<IProcessor>();
            processor.Initialize();

            // tools
            ImporterConfiguration.Initialize();
        }
    }
}
